/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package util;

import beans.ScheduleController;
import java.io.File;
import java.io.IOException;
import java.util.Calendar;
import java.util.Iterator;
import java.util.List;
import java.util.Vector;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.jdom2.Document;
import org.jdom2.Element;
import org.jdom2.JDOMException;
import org.jdom2.input.SAXBuilder;


public class GestionFichier {
    
    public List<CustumEvent> getAllEvents(String fichier){
        List<CustumEvent> events=new Vector<>();
        
        
        
            Document document = null;
            Element racine;
            SAXBuilder sxb = new SAXBuilder();
        try {
            //On crée un nouveau document JDOM avec en argument le fichier XML
            //Le parsing est terminé ;)
            document = sxb.build(new File("C:\\Users\\Ryadh\\Documents\\NetBeansProjects\\ProjetXML\\web\\ressources\\xml\\" + fichier + ".xml"));
        } catch (JDOMException ex) {
            
        } catch (IOException ex) {
            System.err.println("fichier introvable");
        }
            //On initialise un nouvel élément racine avec l'élément racine du document.
            racine = document.getRootElement();
            List listeCours=racine.getChildren("cours");
            Iterator i=listeCours.iterator();
            int count=0;
            while(i.hasNext()){
                Calendar calendar=Calendar.getInstance();
                int annee=calendar.get(Calendar.YEAR);
                int mois=calendar.get(Calendar.MONTH)+1;
                
                CustumEvent tmp=new CustumEvent();
                Element courant=(Element) i.next();
                String contenu=courant.getChildText("resume");
                tmp.setTitle(contenu);
                contenu=courant.getChild("datedebut").getChildText("annee");
                tmp.setAnneeDebut(contenu);
                
                contenu=courant.getChild("datedebut").getChildText("mois");
                //if(Integer.parseInt(contenu)<mois || Integer.parseInt(contenu)>=mois+1)continue;
                tmp.setMoisDebut(contenu);
                
                contenu=courant.getChild("datedebut").getChildText("jour");
                tmp.setJourDebut(contenu);
                
                contenu=courant.getChild("datedebut").getChildText("heure");
                tmp.setHeureDebut(contenu);
                
                contenu=courant.getChild("datedebut").getChildText("minute");
                tmp.setMinuteDebut(contenu);
                
                contenu=courant.getChild("datefin").getChildText("annee");
                tmp.setAnneeFin(contenu);
                
                contenu=courant.getChild("datefin").getChildText("mois");
                tmp.setMoisFin(contenu);
                //System.out.println("val1: "+Integer.parseInt(contenu)+" val2: "+mois);
                if(Integer.parseInt(contenu)!=mois)continue;
                //if(Integer.parseInt(contenu)<mois || Integer.parseInt(contenu)>=mois+1)continue;
                
                contenu=courant.getChild("datefin").getChildText("jour");
                tmp.setJourFin(contenu);
                
                contenu=courant.getChild("datefin").getChildText("heure");
                tmp.setHeureFin(contenu);
                
                contenu=courant.getChild("datefin").getChildText("minute");
                tmp.setMinuteFin(contenu);
                
                contenu=courant.getChildText("location");
                tmp.setLocalisation(contenu);

                tmp.setStartDate(tmp.getDateDebut());
                tmp.setEndDate(tmp.getDateFin());
                
                events.add(tmp);
            }
        
        
        return events;
    }
    
}
